package com.rongke.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;
import com.baomidou.mybatisplus.service.IService;
import com.rongke.model.Orders;

import java.util.List;
import java.util.Map;

/**
 * @OrdersService
 * @订单Service
 * @version : Ver 1.0
 */
public interface OrdersService extends IService<Orders>{

    List<Orders> selectByCondition(Orders orders);


    /**
     *
     * @param orderId 订单id
     *   payWay  支付方式
     * @return
     */
    JSONObject OrdersPay(Long orderId,Integer payWay);

    /**
     * 购买返现
      * @param orderId
     */
    JSONObject cashback(Long orderId);

    /**
     * 减库存
      */
    JSONObject updateInventory(Long orderId);

    /**
     * 七天后确认收货
     */
   void orderTask();

    JSONObject  confirmReceiptOrder(Long userId, Long orderId);




    /**
     * 分页查询 带Page时由mybatis-plus自动分页，无需在mapper中写分页查
     * @param condition
     * @return
     */
    List<Orders> selectOrderListWithCondition(Map condition);

    /**
     * 微信退款
     * @param outTradeNo  商户订单号
     * @param refund_fee 退款金额
     * @param refund_fee1 退款金额
     * @param path  证书路径
     * @return
     */
    Map<String,String> wxRefund(String outTradeNo, String refund_fee, String refund_fee1, String path);

    /**
     * 支付宝退款
     * @param outTradeNo 商户订单号
     * @param s 空字符串
     * @param v 退款金额
     * @return
     */
    String alipayRefund(String outTradeNo, String s, double v);

    /**
     * 根据条件查询我的 拼团订单列表
     * @param map
     * @return
     */
    List<Map> selectBuyTogehterList(Map map);

    Integer selectBuyTogehterListSize(Map map);

    Integer selectOrderListSize(Map condition);
}
